package modele;

import javax.swing.event.EventListenerList;

import modele.TrainAterrissage.Etat;
import modele.listener.*;

public class LED extends ObservableGenerique<CouleurLedListener> {
	
	/**
	 * Etat logique, rien a voir avec l'interface graphique.
	 */
	public enum Couleur{
		ROUGE,ORANGE,VERT,ETEINT
	}
	
	
	private Couleur couleur;

	public LED(){
		super();
		this.couleur=Couleur.ETEINT;
	}
	
	public void setEteinte(){
		this.couleur=Couleur.ETEINT;
		fireModeleChanged();
	}
	public void setVerte(){
		this.couleur=Couleur.VERT;
		fireModeleChanged();
	}
	public void setOrange(){
		this.couleur=Couleur.ORANGE;
		fireModeleChanged();
	}
	
	

	public boolean isEteinte(){
		if(this.couleur==Couleur.ETEINT)
			return true;
		else return false;
	}
	
	public boolean isOrange(){
		if(this.couleur==Couleur.ORANGE)
			return true;
		else return false;
	}
	
	
	/*
	 * Pour les listeners
	 */
	
	
	@Override
	public void fireModeleChanged() {
		for(CouleurLedListener listener : listenersListe){
			listener.couleurChanged(new CouleurLedChangedEvent(this, this.couleur));
		}
	}

}
